几道编程题`大家帮忙``高中会考的``简单

来源:百度知道 编辑:UC知道 时间:2024/05/08 09:05:18
请编程找出3000以内的素数,并回答下列问题: 第41题: 3000以内的素数,第50个是( )
233
211
227
229

第42题: 2927是素数吗?

不是

第43题: 2000~3000以内有( )个素数。
201
129
127
138

Answer
233
Yes
127

下面的程序可以做以上三道题
isPrime 判断是不是素数
PrintPrimeNumber 打印 n - m 之间的所有素数

#include "stdio.h"
#include "stdlib.h"

int primeTable[1000];
int primeNumber = 1;

int isPrime(int number)
{
int i;
if(number == 1)
return 0;
for(i=0;i<primeNumber;i++)
{
if (number == primeTable[i])
{
return 1;
}
if ((number % primeTable[i]) == 0)
{
return 0;
}
}
for(i=primeTable[primeNumber-1]+1;i<number/2;i++)
{
if((number%i) == 0)
{
return 0;
}
}
primeTable[primeNumber++] = number;
return 1;
}

void PrintPrimeNumber(int start, int end, int printAll)
{
int count = 0;
int i;
for(i=start; i<end; i++)
{
if(isPrime(i))
{
if(printAll)
printf("%d: %d\n",c